Various algorithms have been proposed for automatically analyzing or recognizing the contents of images, such as objects or symbols. Among the different algorithms, one category is characterized by the extraction of fiducial points from the image. Fiducial points (or fiduciary points) are locations in the image exhibiting significant structure. Also known as “feature points”, “key-points” or “significant points”, they are typically chosen by finding small neighbourhoods in which the two-dimensional colour or intensity function of the image undergoes a significant variation of some kind. The fiducial point can then be chosen as the centre of this local neighbourhood. Different types of image variation may be suitable for selecting fiduciary points. For example, they could be extracted based on analysis of the directional gradients of the image intensity, or they could be extracted based on a centre-surround filter function, which detects spatial variations in intensity in an isotropic fashion.
Once a set of fiducial points or key-points has been extracted, their mutual configuration can be used to generate a compact description of the content of an image (or a portion of an image). Such a description of image content is often referred to as a feature vector. Feature vectors can be used to compare arbitrary images, or to identify the unknown content of a test image, by comparing its feature vector with the exemplary feature vectors of a number of classes. In this case, the exemplars are known as reference vectors or training vectors. A variety of pattern classification techniques can be used to try to enhance the efficiency or accuracy of recognition using the feature vectors.
Since they are to be used for characterizing or recognizing image contents, it is desirable that the key-points extracted from the image are distinctive, yet insensitive to common confounding factors such as brightness or contrast changes; and changes in the viewing geometry. This is to enable robust recognition of the same contents (e.g. objects) in different images, acquired under different conditions.
Separately, it has been proposed to associate each symbol in a library of symbols with a network address of a network service. If a captured representation of a symbol matches a symbol in the library, the network address associated with the symbol is used to access the network-based service.